<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
    <head>
        <meta charset="utf-8">
        <title>菜单管理</title>
        <div th:include="common :: css"></div>
    </head>
    <body>
        <div class="layuimini-container">
            <div class="layuimini-main">

                <fieldset class="table-search-fieldset">
                    <legend>搜索信息</legend>
                    <div style="margin: 10px 10px 10px 10px">
                        <form class="layui-form layui-form-pane" action="" method="post">
                            <div class="layui-form-item">
                                <div class="layui-inline">
                                    <label class="layui-form-label">角色名称</label>
                                    <div class="layui-input-inline">
                                        <input type="text" name="name" autocomplete="off" class="layui-input">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <button type="submit" class="layui-btn layui-btn-primary"  lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
                                </div>
                            </div>
                        </form>
                    </div>
                </fieldset>

                <script type="text/html" id="toolbarDemo">
                    <div class="layui-btn-container">
                        <button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="add"> 添加 </button>
                        <button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="delete"> 删除 </button>
                    </div>
                </script>

                <table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>

                <script type="text/html" id="currentTableBar">
                    <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
                    <a class="layui-btn layui-btn-xs layui-btn-normal data-count-edit" lay-event="edit_auth">编辑权限</a>
                    <a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
                </script>

            </div>
        </div>
        <div th:include="common :: js"></div>
        <script>
            layui.use(['form', 'table'], function () {
                var $ = layui.jquery,
                    form = layui.form,
                    table = layui.table;//获取当前页面所有的table

                var columns = [
                    {type: "checkbox", width: 50},
                    {field: 'id', width: 80, title: 'ID', sort: true},
                    {field: 'name', width: 120, title: '名称'},
                    {field: 'isAllow', title: '状态', wdth: 80, templet:function (d) {
                            if (d.isAllow == 1) {
                                return "启用";
                            } else {
                                return "停用";
                            }
                        }},
                    {title: '操作', minWidth: 150, toolbar: '#currentTableBar', align: "center"}
                ];

                table.render({
                    elem: '#currentTableId',//指定table的id
                    url: '/roleConsumer/queryAll',
                    toolbar: '#toolbarDemo',
                    defaultToolbar: ['filter', 'exports', 'print', {
                        title: '提示',
                        layEvent: 'LAYTABLE_TIPS',
                        icon: 'layui-icon-tips'
                    }],
                    method: "post",
                    cols: [columns],
                    limits: [10, 15, 20, 25, 50, 100],
                    limit: 15,
                    page: true,
                    skin: 'line'
                });

                // 监听搜索操作
                form.on('submit(data-search-btn)', function (data) {
                    //执行搜索重载
                    table.reload('currentTableId', {
                        page: {
                            curr: 1
                        },
                        where: data.field
                    }, 'data');

                    return false;
                });

                /**
                 * toolbar监听事件
                 */
                table.on('toolbar(currentTableFilter)', function (obj) {
                    if (obj.event === 'add') {  // 监听添加操作
                        var index = layer.open({
                            title: '添加管理员',
                            type: 2,
                            shade: 0.2,
                            maxmin:true,
                            shadeClose: true,
                            area: ['100%', '100%'],
                            content: '/roleConsumer/',
                            end: function () {
                                table.reload('currentTableId', {
                                    page: {
                                        curr: 1
                                    }
                                }, 'data');
                            }
                        });
                        $(window).on("resize", function () {
                            layer.full(index);
                        });
                        return false;
                    } else if (obj.event === 'delete') {  // 监听删除操作
                        var checkStatus = table.checkStatus('currentTableId');
                        var data = checkStatus.data;
                        var ids = "";
                        for(var i = 0; i < data.length; i++) {
                            ids += data[i].id;
                            if (i != data.length - 1) {
                                ids += ","
                            }
                        }
                        layer.confirm("是否删除id为" + ids+ "数据?", {icon: 3, title:"提示"}, function(index){
                            doDelete(obj.data, ids);
                            layer.close(index);
                        });
                    }
                });

                //监听表格复选框选择
                table.on('checkbox(currentTableFilter)', function (obj) {
                    // ids.push(obj.data.id);
                });

                table.on('tool(currentTableFilter)', function (obj) {
                    var data = obj.data;
                    if (obj.event === 'edit') {
                        var index = layer.open({
                            title: '编辑管理员',
                            type: 2,
                            shade: 0.2,
                            maxmin:true,
                            shadeClose: true,
                            area: ['100%', '100%'],
                            content: '/roleConsumer/' + data.id,
                            end: function () {
                                table.reload('currentTableId', {
                                    page: {
                                        curr: 1
                                    },
                                    where: data.field
                                }, 'data');
                            }
                        });
                        $(window).on("resize", function () {
                            layer.full(index);
                        });
                        return false;
                    } else if (obj.event === 'delete') {
                        layer.confirm('真的删除行么', function (index) {
                            // obj.del();
                            doDelete(data, data.id);
                            layer.close(index);
                        });
                    } else if (obj.event === 'edit_auth') {
                        var index = layer.open({
                            title: '编辑权限',
                            type: 2,
                            shade: 0.2,
                            maxmin:true,
                            shadeClose: true,
                            area: ['100%', '100%'],
                            content: '/roleConsumer/toAuthList/' + data.id,
                            end: function () {
                                table.reload('currentTableId', {
                                    page: {
                                        curr: 1
                                    },
                                    where: data.field
                                }, 'data');
                            }
                        });
                        $(window).on("resize", function () {
                            layer.full(index);
                        });
                        return false;
                    }
                });

                function doDelete(data, ids) {
                    $.post("/roleConsumer/" + ids, {
                        _method: "delete"
                    }, function (result) {
                        if (result == true) {
                            table.reload('currentTableId', {
                                page: {
                                    curr: 1
                                }
                            }, 'data');
                        }
                    });
                }
            });

        </script>

    </body>
</html>